Интегрирование
и дифференцирование
Интегрирование и дифференцирование - самые
простые, с вычислительной точки зрения, операции, реализованные в MathCAD в
виде операторов. Тем не менее, если расчеты выполняются с помощью
вычислительного процессора, необходимо хорошо представлять себе особенности
численных алгоритмов, действие которых остается для пользователя "за
кадром".
Интегрирование, дифференцирование, как и множество
других математических действий, устроено в MathCAD по принципу "как
пишется, так и вводится". Чтобы вычислить определенный интеграл, следует
напечатать его обычную математическую форму в документе. Делается это с помощью
панели Calculus (Вычисления) нажатием кнопки со значком интеграла или
вводом с клавиатуры сочетания клавиш +<7> (или символа "&",
что то же самое). Появится символ интеграла с несколькими местозаполнителями ,
в которые нужно ввести нижний и верхний интервалы интегрирования,
подынтегральную функцию и переменную интегрирования.
Можно вычислять интегралы с одним или обоими бесконечными
пределами. Для этого на месте соответствующего предела введите символ
бесконечности, воспользовавшись, например, той же самой панелью Calculus (Вычисления).
Чтобы ввести -°° (минус бесконечность), добавьте знак минус к символу
бесконечности, как к обычному числу.
Чтобы получить результат интегрирования, следует
ввести знак равенства или символьного равенства. В первом случае интегрирование
будет проведено численным методом, во втором - в случае успеха, будет найдено
точное значение интеграла с помощью символьного процессора MathCAD.


Об алгоритмах интегрирования
Результат численного интегрирования - это не точное, а
приближенное значение интеграла, определенное с погрешностью, которая зависит
от встроенной константы TOL. Чем она меньше, тем с лучшей точностью будет
найден интеграл, но и тем больше времени будет затрачено на расчеты. По умолчанию
TOL=O.OOI. Для того чтобы ускорить вычисления, можно установить меньшее
значение TOL.
Кроме нее, пользователь имеет возможность выбирать сам
алгоритм численного интегрирования. Для этого:
1. Щелкните правой кнопкой мыши в любом месте на левой части вычисляемого
интеграла.
2. В появившемся контекстном меню выберите один из четырех численных
алгоритмов.
Обратите внимание, что перед тем как один из алгоритмов выбран впервые флажок
проверки в контекстном меню установлен возле пункта AutoSelect (Автоматический
выбор). Это означает, что алгоритм определяется MathCAD, исходя из анализа
пределов интегрирования и особенностей подынтегральной функции. Как только один
из алгоритмов выбран, этот флажок сбрасывается, а избранный алгоритм отмечается
точкой.
Разработчиками
MathCAD запрограммированы четыре численных метода интегрирования:
- Romberg (Ромберга) - для большинства функций, не содержащих
особенностей;
- Adaptive (Адаптивный) - для функций, быстро меняющихся на интервале
интегрирования;
- Infinite Limit (Бесконечный предел) - для интегралов с бесконечными
пределами ();
- Singular Endpoint - для интегралов с сингулярностью на конце.
Модифицированный алгоритм Ромберга для функций, не определенных на одном или
обоих концах интервала интегрирования.
Старайтесь все-таки оставить выбор численного метода за MathCAD, установив
флажок AutoSelect (Автоматический выбор) в контекстном меню. Попробовать
другой метод можно, например, чтобы сравнить результаты расчетов в
специфических случаях, когда у вас закрадываются сомнения в их правильности.
Если подынтегральная функция "хорошая", т. е. не меняется на
интервале интегрирования слишком быстро и не обращается на нем в бесконечность,
то численное решение интеграла не принесет никаких неприятных сюрпризов.
О
расходящихся интегралах
Если интеграл расходится (равен бесконечности), то вычислительный процессор
MathCAD может выдать сообщение об ошибке, выделив при этом оператор
интегрирования, как обычно, красным цветом. Чаще всего ошибка будет иметь тип "Found
a number with a magnitude greater than 10Л307" (Найдено
число, превышающее значение 10307) или "Can't converge to a
solution" (Не сходится к решению). Тем не менее, символьный процессор
справляется с интегралом, совершенно правильно находя его бесконечное значение.


При попытке численного решения задачи рисунка методом,
отличным от алгоритма вычисления интегралов с бесконечными пределами (Infinite
Limit), будет получено неверное решение - вместо бесконечности выдано
большое, но конечное число.
Для вычисления двукратных интегралов необходимо:
1. Введите, как обычно, оператор интегрирования.
2. В соответствующих местозаполнителях введите имя первой
переменной интегрирования и пределы интегрирования по этой переменной.
3. На месте ввода подынтегральной функции введите еще
один оператор интегрирования.
4. Точно так же введите вторую переменную, пределы
интегрирования и подынтегральную функцию (если интеграл двукратный) или
следующий оператор интегрирования (если более чем двукратный) и т. д., пока
выражение с многократным интегралом не будет введено окончательно. Обратите
внимание, что символьный процессор "угадывает" точное значение
интеграла, а вычислительный определяет его приближенно и выдает в виде числа
3,142.


Дифференцирование
С помощью MathCAD можно вычислять производные скалярных функций любого
количества аргументов, от 0-го до 5-го порядка включительно. И функции, и
аргументы могут быть как действительными, так и комплексными. Невозможно
дифференцирование функций только вблизи точек их сингулярности.
Вычислительный процессор MathCAD обеспечивает превосходную точность численного
дифференцирования. Но больше всего пользователь оценит возможности символьного
процессора, который позволяет с легкостью осуществить рутинную работу
вычисления производных громоздких функций, поскольку, в отличие от всех других
операций, символьное дифференцирование выполняется успешно для подавляющего
большинства аналитически заданных функций.
В MathCAD для ускорения
и повышения точности численного дифференцирования функций, заданных
аналитически, автоматически задействуется символьный процессор.
Первая производная
Для того чтобы
продифференцировать функцию f (х) в некоторой точке:
1. Определите точку х, в
которой будет вычислена производная, например, х:=1.
2. Введите оператор
дифференцирования нажатием кнопки Derivative (Производная) на панели Calculus
(Вычисления) или введите с клавиатуры вопросительный знак .
3. В появившихся
местозаполнителях введите функцию, зависящую от аргумента х, т. е. f (х), и имя
самого аргумента х.
4. Введите оператор
<=> численного или <- символьного вывода для получения ответа.

Не забывайте
предварительно определять точку, в которой производится численное
дифференцирование, как это сделано в первой строке листинга.
Конечно, можно, как и
при использовании других операторов, предварительно определить функцию в
отдельном выражении, а затем посчитать ее производную; или применить оператор
дифференцирования для определения собственных функций пользователя.


Для численного
дифференцирования MathCAD применяет довольно сложный алгоритм, вычисляющий
производную с точностью до 7-8-го знака после запятой. Этот алгоритм (метод
Риддера) описан во встроенной справочной системе MathCAD. Погрешность
дифференцирования не зависит от констант TOL или CTOL, в противоположность
большинству остальных численных методов, а определяется непосредственно
алгоритмом.
Исключение составляют
функции, которые дифференцируются в окрестности сингулярной точки; например для
рассмотренной нами функции f(x)=l/x это будут точки вблизи х=0. При попытке
найти ее производную при х=0 будет выдано сообщение об одной из ошибок деления
на ноль "Can't divide by zero" (Деление на ноль невозможно)
или "Found a singularity while evaluating this expression. You may be
dividing by zero" (Найдена сингулярность при вычислении этого
выражения. Возможно, вы делите на ноль) Если попробовать численно определить
производную очень близко к нулю, например, при х=10100, то может
появиться сообщение об ошибке "Can't converge to a solution" (Невозможно
найти решение). Встретившись с одной из упомянутых ошибок, присмотритесь
повнимательнее к дифференцируемой функции и убедитесь, что вы не имеете дело с
точкой сингулярности.
Производные высших
порядков
MathCAD позволяет
численно определять производные высших порядков, от 0-го до 5-го включительно.
Чтобы вычислить производную функции f (х) N-ГО порядка в точке х, нужно
проделать те же самые действия, что и при взятии первой производной, за
тем исключением, что вместо оператора производной необходимо применить оператор
N-Й производной (Nth Derivative). Этот оператор вводится с той же панели
Calculus (Вычисления), либо с клавиатуры нажатием клавиш +, и содержит
еще два местозаполнителя, в которые следует поместить число N. В полном соответствии
с математическим смыслом оператора, определение порядка производной в одном из
местозаполнителей приводит к автоматическому появлению того же числа в другом
из них."Производная" при N=0 по определению равна самой функции, при
N=I получается обычная первая производная.

Чтобы вычислить
производную порядка выше 5-го, следует последовательно применить несколько раз
оператор n-й производной подобно тому, как вводились операторы
кратного интегрирования. Однако для символьных вычислений этого не потребуется
- символьный процессор умеет считать производные порядка выше 5-го. Сказанное
иллюстрирует листинг, в котором сначала численно, а затем символьно вычисляется
седьмая производная синуса в точке х=0.1.

Расчет производных
высших порядков производится тем же вычислительным методом Риддера, что и
расчет первых производных. Причем для первой производной этот метод
обеспечивает точность до 7-8 значащих разрядов числа, а при повышении порядка
производной на каждую единицу точность падает примерно на один разряд.
Из сказанного ясно, что
падение точности при численном расчете высших производных может быть очень
существенно. В частности, если попытаться определить девятую производную
синуса, подобно идее листинга, то в качестве результата будет выдан нуль, в то
время, как истинное значение девятой производной равно cos(0.1).
Частные производные
С помощью обоих процессоров MathCAD можно вычислять
производные функций любого количества аргументов. В этом случае, как известно,
производные по разным аргументам называются частными. Чтобы вычислить
частную производную, необходимо, как обычно, ввести оператор производной с
панели Calculus (Вычисления) и в соответствующем местозаполнителе
напечатать имя переменной, по которой должно быть осуществлено
дифференцирование. Пример приведен в листинге, в первой строке которого
определена функция двух переменных, а в двух следующих строках символьным
образом вычислены ее частные производные по обеим переменным - х и у -
соответственно. Чтобы определить частную производную численным методом,
необходимо предварительно задать значения всех аргументов, что и сделано в следующих
двух строках листинга. Последнее выражение в листинге снова (как и в третьей
строке) определяет символьно частную производную по у. Но, поскольку переменным
х и у уже присвоено конкретное значение, то в результате получается число, а не
аналитическое выражение.
Суммы и произведения
Для вычисления сумм и
произведений воспользуемся палитрой вычислений.

Здесь мы использовали
значок суммы с указанием границ суммирования. Система обрабатывает ситуации ![]()
Но, к
сожалению, не может считать суммы с бесконечными пределами.
Значок суммирования
только с указанием индекса используется для работы с матрицами и функциями
зависящими от индекса, т.е. в тех случаях, когда пределы изменения индекса
указываются в виде переменной интервального типа.
![]()
Аналогично вычисляются
произведения
|
|
Задания:
1.
Вычислить
предел: ![]()
2.
Продифференцировать
функцию: ![]()
3.
Исследовать
функцию на наличие асимптот: ![]()
4.
Найти
точки экстремума функции ![]()
5.
Найти
наибольшее и наименьшее значение для функции
на
отрезке [0,4]
6.
Вычислить
площадь области, ограниченной кривыми ![]()
7.
Определить
существует ли предел функции
.
Если нет, то определить тип точек разрыва.
8.
Построить
касательную и нормаль к графику функции
в
точке (1, 0).
9.
Определить
интервалы выпуклости, вогнутости и точки перегиба функций 